// 给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。

// 有效字符串需满足：

// 左括号必须用相同类型的右括号闭合。
// 左括号必须以正确的顺序闭合。
// 每个右括号都有一个对应的相同类型的左括号。


function isValid(s: string): boolean {
    const savelist:string[] = []
    const lens = s.length
    for(let i = 0;i<lens;i++){
        const str = s.charAt(i)
        if(str == '('){
            savelist.push(')')
        }else if(str == '['){
            savelist.push(']')
        }else if(str == '{'){
            savelist.push('}')
        }else{
            let pop = savelist.pop()
            if(pop != str){
                return false
            }
        }
    }
    return savelist.length == 0
};

// isValid('(')
// isValid(')')
// isValid('[')
// isValid(']')
// isValid('{')
// isValid('}')

console.log(isValid('()[]'))